xen/arm: vgic-v3: Allow AArch32 guest booting with GICv3
authorJulien Grall <julien.grall@arm.com>
Wed, 7 Dec 2016 12:33:53 +0000 (12:33 +0000)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 7 Dec 2016 22:49:42 +0000 (14:49 -0800)
commit3651d9e5c0f90e94d41187a69f04df3647c61a82
treef5e886c809826ca6291d932d3cb1fb89086e0246
parent8c6feb177d1e17466aed2fda8784acb1f9d18d11
xen/arm: vgic-v3: Allow AArch32 guest booting with GICv3

AArch32 guest will use co-processor registers to access the GICv3 (see
8.5 in IHI 0069C). Some of the registers have to be trapped and emulated
(e.g ICC_SGI1R), this is the purpose of this patch.

The rest of the emulation already supports access required for AArch32
so nothing has to be changed there.

Note this is only enabling 32-bit guest using GICv3 on Xen ARM64. Further
work would be required to compile GICv3 and vGICv3 for Xen ARM32.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/traps.c
xen/arch/arm/vgic-v3.c
xen/include/asm-arm/cpregs.h
xen/include/asm-arm/perfc_defn.h